νμ₯ κ°λ₯νκ³ , 볡μλ ₯ μμΌλ©°, μ μμ± λμ μ ν리μΌμ΄μ μ ꡬμΆνκΈ° μν ν¨κ³Όμ μΈ λ§μ΄ν¬λ‘μλΉμ€ λΆν΄ μ λ΅μ μμ보μΈμ. λλ©μΈ μ£Όλ μ€κ³, κ²½κ³ μ»¨ν μ€νΈ λ° λ€μν λΆν΄ ν¨ν΄μ μ΄ν΄ν©λλ€.
λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²: μ±κ³΅μ μν λΆν΄ μ λ΅
λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²λ νλμ μ΄κ³ νμ₯ κ°λ₯νλ©° 볡μλ ₯ μλ μ ν리μΌμ΄μ μ ꡬμΆνκΈ° μν μ λμ μΈ μ κ·Ό λ°©μμΌλ‘ λΆμνμ΅λλ€. νμ§λ§ λ§μ΄ν¬λ‘μλΉμ€ ꡬνμ μ±κ³΅μ μλΉμ€ λΆν΄ μ λ΅μ ν¨κ³Όμ ν¬κ² μ’μ°λ©λλ€. μλͺ» μ€κ³λ λ§μ΄ν¬λ‘μλΉμ€λ λΆμ°λ λͺ¨λ리μ€, 볡μ‘μ± λ° μ΄μμμ μ΄λ €μμΌλ‘ μ΄μ΄μ§ μ μμ΅λλ€. μ΄ μ’ ν© κ°μ΄λμμλ λ€μν λ§μ΄ν¬λ‘μλΉμ€ λΆν΄ μ λ΅μ νꡬνλ©°, κ²¬κ³ νκ³ μ±κ³΅μ μΈ λ§μ΄ν¬λ‘μλΉμ€ κΈ°λ° μμ€ν μ ꡬμΆνλ λ° λμμ΄ λλ ν΅μ°°λ ₯κ³Ό μ€μ μ¬λ‘λ₯Ό μ 곡ν©λλ€.
λΆν΄μ μ€μμ± μ΄ν΄νκΈ°
λΆν΄λ ν¬κ³ 볡μ‘ν μ ν리μΌμ΄μ μ λ μκ³ λ 립μ μ΄λ©° κ΄λ¦¬νκΈ° μ¬μ΄ μλΉμ€λ‘ λλλ κ³Όμ μ λλ€. μ΄ λͺ¨λμ μ κ·Ό λ°©μμ λͺ κ°μ§ μ£Όμ μ΄μ μ μ 곡ν©λλ€.
- νμ₯μ±: κ°λ³ μλΉμ€λ₯Ό 리μμ€ μꡬ μ¬νμ λ°λΌ λ 립μ μΌλ‘ νμ₯ν μ μμ΄ μΈνλΌλ₯Ό μ΅μ μΌλ‘ νμ©ν μ μμ΅λλ€.
- 볡μλ ₯: ν μλΉμ€κ° μ€ν¨νλλΌλ λ€λ₯Έ μλΉμ€λ κ³μ μλνμ¬ μ ν리μΌμ΄μ μ μ λ°μ μΈ κ°μ©μ±μ 보μ₯ν©λλ€. μ₯μ κ° κ²©λ¦¬λ©λλ€.
- κΈ°μ λ€μμ±: κ°κΈ° λ€λ₯Έ μλΉμ€λ₯Ό λ€λ₯Έ κΈ°μ μ μ¬μ©νμ¬ κ΅¬μΆν μ μμΌλ―λ‘ νμ μμ μ κ°μ₯ μ ν©ν λꡬλ₯Ό μ νν μ μμ΅λλ€. μ¬κΈ°μλ κ° μλΉμ€μ λ§λ νλ‘κ·Έλλ° μΈμ΄, νλ μμν¬ λ° λ°μ΄ν°λ² μ΄μ€λ₯Ό μ ννλ κ²μ΄ ν¬ν¨λ©λλ€.
- λ λΉ λ₯Έ κ°λ° μ£ΌκΈ°: μκ·λͺ¨ νμ΄ κ°λ³ μλΉμ€λ₯Ό λ 립μ μΌλ‘ κ°λ°νκ³ λ°°ν¬ν μ μμ΄ μΆμ μ£ΌκΈ°κ° λΉ¨λΌμ§κ³ μμ₯ μΆμ μκ°μ΄ λ¨μΆλ©λλ€.
- μ μ§λ³΄μμ± ν₯μ: μμ μ½λλ² μ΄μ€λ μ΄ν΄νκ³ , μ μ§λ³΄μνκ³ , μ λ°μ΄νΈνκΈ°κ° λ μ½μ΅λλ€.
- ν μμ¨μ±: νμ μμ μ μλΉμ€μ λν λ ν° μμ κΆκ³Ό ν΅μ κΆμ κ°μ΅λλ€. μ΄λ₯Ό ν΅ν΄ λ λ 립μ μΌλ‘ μμ νκ³ μλ‘μ΄ κΈ°μ μ μ€νν μ μμ΅λλ€.
κ·Έλ¬λ λ§μ΄ν¬λ‘μλΉμ€μ μ΄μ μ μλΉμ€κ° μ μ€νκ² λΆν΄λμμ λλ§ μ€νλ©λλ€. μλͺ» μ€κ³λ λΆν΄λ 볡μ‘μ± μ¦κ°, ν΅μ μ€λ²ν€λ λ° μ΄μμμ μ΄λ €μμΌλ‘ μ΄μ΄μ§ μ μμ΅λλ€.
ν¨κ³Όμ μΈ λΆν΄λ₯Ό μν ν΅μ¬ μμΉ
μ±κ³΅μ μΈ λ§μ΄ν¬λ‘μλΉμ€ λΆν΄λ₯Ό μν΄μλ λͺ κ°μ§ μ§μΉ¨ μμΉμ΄ νμμ μ λλ€.
- λ¨μΌ μ± μ μμΉ (SRP): κ° μλΉμ€λ λ¨μΌνκ³ λͺ ννκ² μ μλ μ± μμ κ°μ ΈμΌ ν©λλ€. μ΄λ μλΉμ€μ μ§μ€λλ₯Ό μ μ§νκ³ μ΄ν΄νκΈ° μ½κ² λ§λλλ€.
- λμ¨ν κ²°ν©: μλΉμ€λ μλ‘μ λν μμ‘΄μ±μ μ΅μννλλ‘ μ€κ³λμ΄μΌ ν©λλ€. ν μλΉμ€μ λ³κ²½μ΄ λ€λ₯Έ μλΉμ€μ λ³κ²½μ μꡬν΄μλ μ λ©λλ€.
- λμ μμ§λ: μλΉμ€ λ΄μ μμλ€μ κΈ΄λ°νκ² κ΄λ ¨λμ΄ μλΉμ€μ μ± μμ μ΄ννκΈ° μν΄ ν¨κ» μλν΄μΌ ν©λλ€.
- κ²½κ³ μ»¨ν μ€νΈ (Bounded Contexts): λ§μ΄ν¬λ‘μλΉμ€λ λΉμ¦λμ€ λλ©μΈκ³Ό μΌμΉν΄μΌ ν©λλ€. κ° μλΉμ€λ μ΄μμ μΌλ‘ νΉμ λΉμ¦λμ€ λλ©μΈ λλ κ·Έ νμ μ§ν©μ λͺ¨λΈλ§ν΄μΌ ν©λλ€. (μμΈν λ΄μ©μ μλ μ°Έμ‘°)
- λ 립μ μΈ λ°°ν¬ κ°λ₯μ±: κ° μλΉμ€λ λ€λ₯Έ μλΉμ€μ λμ λ°°ν¬λ₯Ό μꡬνμ§ μκ³ λ 립μ μΌλ‘ λ°°ν¬ν μ μμ΄μΌ ν©λλ€. μ΄λ μ§μμ μΈ μ λ¬μ μ©μ΄νκ² νκ³ λ°°ν¬ μνμ μ€μ λλ€.
- μλν: λΉλμ ν μ€νΈμμ λ°°ν¬μ λͺ¨λν°λ§μ μ΄λ₯΄κΈ°κΉμ§ μλΉμ€ μλͺ μ£ΌκΈ°μ λͺ¨λ μΈ‘λ©΄μ μλνν΄μΌ ν©λλ€. μ΄λ μλ§μ λ§μ΄ν¬λ‘μλΉμ€λ₯Ό κ΄λ¦¬νλ λ° λ§€μ° μ€μν©λλ€.
λΆν΄ μ λ΅
λͺ¨λ리μ μ ν리μΌμ΄μ μ λΆν΄νκ±°λ μλ‘μ΄ λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²λ₯Ό μ€κ³νλ λ°λ λ€μν μ λ΅μ μ¬μ©ν μ μμ΅λλ€. μ λ΅μ μ νμ νΉμ μ ν리μΌμ΄μ , λΉμ¦λμ€ μꡬ μ¬ν λ° ν μ λ¬Έ μ§μμ λ°λΌ λ¬λΌμ§λλ€.
1. λΉμ¦λμ€ κΈ°λ₯μ λ°λ₯Έ λΆν΄
μ΄κ²μ μ’ μ’ κ°μ₯ μμ°μ€λ½κ³ ν¨κ³Όμ μΈ μ κ·Ό λ°©μμΌλ‘ κ°μ£Όλ©λλ€. μ΄λ μ ν리μΌμ΄μ μ΄ μ 곡νλ ν΅μ¬ λΉμ¦λμ€ κΈ°λ₯μ κΈ°λ°μΌλ‘ μλΉμ€λ₯Ό λλλ κ²μ ν¬ν¨ν©λλ€. κ° μλΉμ€λ κ³ μ ν λΉμ¦λμ€ κΈ°λ₯ λλ νλ‘μΈμ€λ₯Ό λνλ λλ€.
μμ: μ μμκ±°λ μ ν리μΌμ΄μ
μ μμκ±°λ νλ«νΌμ λ€μκ³Ό κ°μ μλΉμ€λ‘ λΆν΄λ μ μμ΅λλ€.
- μν μΉ΄νλ‘κ·Έ μλΉμ€: μ€λͺ , μ΄λ―Έμ§, κ°κ²©, μ¬κ³ λ± μν μ 보λ₯Ό κ΄λ¦¬ν©λλ€.
- μ£Όλ¬Έ κ΄λ¦¬ μλΉμ€: μ£Όλ¬Έ μμ±, μ²λ¦¬ λ° μ΄νμ μ²λ¦¬ν©λλ€.
- κ²°μ μλΉμ€: λ€μν κ²°μ κ²μ΄νΈμ¨μ΄λ₯Ό ν΅ν΄ κ²°μ λ₯Ό μ²λ¦¬ν©λλ€. (μ: PayPal, Stripe, νμ§ κ²°μ μλ¨)
- μ¬μ©μ κ³μ μλΉμ€: μ¬μ©μ λ±λ‘, νλ‘ν λ° μΈμ¦μ κ΄λ¦¬ν©λλ€.
- λ°°μ‘ μλΉμ€: λ°°μ‘λΉλ₯Ό κ³μ°νκ³ λ°°μ‘ μ 체μ ν΅ν©ν©λλ€.
- 리뷰 λ° νμ μλΉμ€: κ³ κ° λ¦¬λ·°μ μν νμ μ κ΄λ¦¬ν©λλ€.
μ₯μ :
- λΉμ¦λμ€ μꡬμ μ‘°μ§ κ΅¬μ‘°μ λΆν©ν©λλ€.
- λ 립μ μΈ κ°λ° λ° λ°°ν¬λ₯Ό μ©μ΄νκ² ν©λλ€.
- μ΄ν΄νκ³ μ μ§λ³΄μνκΈ°κ° λ μ½μ΅λλ€.
λ¨μ :
- λΉμ¦λμ€ λλ©μΈμ λν κΉμ μ΄ν΄κ° νμν©λλ€.
- λ°μ΄ν° μμ κΆ λ° μΌκ΄μ±μ λν μ μ€ν κ³ λ €κ° νμν μ μμ΅λλ€. (μ: 곡μ λ°μ΄ν°λ² μ΄μ€)
2. νμ λλ©μΈ/κ²½κ³ μ»¨ν μ€νΈμ λ°λ₯Έ λΆν΄ (λλ©μΈ μ£Όλ μ€κ³ - DDD)
λλ©μΈ μ£Όλ μ€κ³(DDD)λ λΉμ¦λμ€ λλ©μΈμ κΈ°λ°μΌλ‘ μ ν리μΌμ΄μ μ λΆν΄νλ κ°λ ₯ν νλ μμν¬λ₯Ό μ 곡ν©λλ€. μ΄λ 곡μ λ μΈμ΄(μ λΉμΏΌν°μ€ μΈμ΄)λ₯Ό μ¬μ©νμ¬ λΉμ¦λμ€ λλ©μΈμ λͺ¨λΈλ§νκ³ κ²½κ³ μ»¨ν μ€νΈλ₯Ό μλ³νλ λ° μ€μ μ λ‘λλ€.
κ²½κ³ μ»¨ν μ€νΈ(Bounded Contexts): κ²½κ³ μ»¨ν μ€νΈλ μ체μ μΈ κ·μΉ, μ΄ν λ° λͺ¨λΈμ κ°μ§ λΉμ¦λμ€ λλ©μΈμ νΉμ μμμ λλ€. κ° κ²½κ³ μ»¨ν μ€νΈλ νΉμ κΈ°λ₯ μμμ λν λ Όλ¦¬μ κ²½κ³λ₯Ό λνλ λλ€. λ§μ΄ν¬λ‘μλΉμ€λ κ²½κ³ μ»¨ν μ€νΈμ λ§€μ° μ λ§€νλ©λλ€.
μμ: μν μ ν리μΌμ΄μ
DDDλ₯Ό μ¬μ©νλ©΄ μν μ ν리μΌμ΄μ μ λ€μκ³Ό κ°μ κ²½κ³ μ»¨ν μ€νΈλ‘ λΆν΄ν μ μμ΅λλ€.
- κ³μ’ κ΄λ¦¬: κ³μ’ μμ±, μμ λ° μμ λ₯Ό μ²λ¦¬ν©λλ€.
- κ±°λ: μ κΈ, μΆκΈ, μ΄μ²΄ λ° κ²°μ λ₯Ό μ²λ¦¬ν©λλ€.
- κ³ κ° κ΄κ³ κ΄λ¦¬ (CRM): κ³ κ° λ°μ΄ν°μ μνΈ μμ©μ κ΄λ¦¬ν©λλ€.
- λμΆ μ μ²: λμΆ μ μ² λ° μΉμΈμ μ²λ¦¬ν©λλ€.
- μ¬κΈ° νμ§: μ¬κΈ° νμλ₯Ό νμ§νκ³ μλ°©ν©λλ€.
μ₯μ :
- λΉμ¦λμ€ λλ©μΈμ λν λͺ νν μ΄ν΄λ₯Ό μ 곡ν©λλ€.
- 곡μ μΈμ΄ κ°λ°μ μ©μ΄νκ² ν©λλ€.
- λͺ ννκ² μ μλ μλΉμ€ κ²½κ³λ‘ μ΄μ΄μ§λλ€.
- κ°λ°μμ λλ©μΈ μ λ¬Έκ° κ°μ μμ¬μν΅μ κ°μ ν©λλ€.
λ¨μ :
- DDD μμΉμ λ°°μ°κ³ μ±ννλ λ° μλΉν ν¬μκ° νμν©λλ€.
- νΉν ν¬κ³ 볡μ‘ν λλ©μΈμ κ²½μ° κ΅¬νμ΄ λ³΅μ‘ν μ μμ΅λλ€.
- μκ°μ΄ μ§λ¨μ λ°λΌ λλ©μΈ μ΄ν΄κ° λ³κ²½λλ©΄ 리ν©ν λ§μ΄ νμν μ μμ΅λλ€.
3. λΉμ¦λμ€ νλ‘μΈμ€μ λ°λ₯Έ λΆν΄
μ΄ μ λ΅μ μ’ λ¨ κ° λΉμ¦λμ€ νλ‘μΈμ€λ₯Ό κΈ°λ°μΌλ‘ μ ν리μΌμ΄μ μ λΆν΄νλ λ° μ€μ μ λ‘λλ€. κ° μλΉμ€λ νΉμ νλ‘μΈμ€ νλ¦μ λνλ λλ€.
μμ: 보νκΈ μ²κ΅¬ μ²λ¦¬ μ ν리μΌμ΄μ
보νκΈ μ²κ΅¬ μ²λ¦¬ μ ν리μΌμ΄μ μ λ€μκ³Ό κ°μ μλΉμ€λ‘ λΆν΄λ μ μμ΅λλ€.
- μ²κ΅¬ μ μ μλΉμ€: μ΅μ΄ 보νκΈ μ²κ΅¬ μ μλ₯Ό μ²λ¦¬ν©λλ€.
- μ²κ΅¬ κ²μ¦ μλΉμ€: μ²κ΅¬ λ°μ΄ν°λ₯Ό κ²μ¦ν©λλ€.
- μ¬κΈ° νμ§ μλΉμ€: μ μ¬μ μΈ μ¬κΈ° μ²κ΅¬λ₯Ό νμ§ν©λλ€.
- μ²κ΅¬ μ¬μ¬ μλΉμ€: μ²κ΅¬λ₯Ό μ¬μ¬νκ³ μ§κΈμ‘μ κ²°μ ν©λλ€.
- μ§κΈ μλΉμ€: μ²κ΅¬μΈμκ² μ§κΈμ μ²λ¦¬ν©λλ€.
μ₯μ :
- μ΅μ’ μ¬μ©μμκ² κ°μΉλ₯Ό μ 곡νλ λ° μ€μ μ λ‘λλ€.
- 볡μ‘ν μν¬νλ‘μ μ ν©ν©λλ€.
- μ 체 νλ‘μΈμ€μ λν μ΄ν΄λ₯Ό ν₯μμν΅λλ€.
λ¨μ :
- μ¬λ¬ μλΉμ€μ μ μ€ν μ€μΌμ€νΈλ μ΄μ μ΄ νμν μ μμ΅λλ€.
- λ€λ₯Έ μ λ΅λ³΄λ€ κ΄λ¦¬κ° λ 볡μ‘ν μ μμ΅λλ€.
- μλΉμ€ κ°μ μμ‘΄μ±μ΄ λ λλλ¬μ§ μ μμ΅λλ€.
4. μν°ν°μ λ°λ₯Έ λΆν΄ (λ°μ΄ν° μ€μ¬ λΆν΄)
μ΄ μ λ΅μ λ°μ΄ν° μν°ν°λ₯Ό κΈ°λ°μΌλ‘ μ ν리μΌμ΄μ μ λΆν΄ν©λλ€. κ° μλΉμ€λ νΉμ μ νμ λ°μ΄ν° μν°ν°λ₯Ό κ΄λ¦¬νλ μ± μμ μ§λλ€.
μμ: μμ λ―Έλμ΄ νλ«νΌ
λ€μκ³Ό κ°μ μλΉμ€κ° ν¬ν¨λ μ μμ΅λλ€.
- μ¬μ©μ μλΉμ€: μ¬μ©μ λ°μ΄ν°(νλ‘ν, μΉκ΅¬ λ±)λ₯Ό κ΄λ¦¬ν©λλ€.
- κ²μλ¬Ό μλΉμ€: μ¬μ©μ κ²μλ¬Όμ κ΄λ¦¬ν©λλ€.
- λκΈ μλΉμ€: κ²μλ¬Όμ λν λκΈμ κ΄λ¦¬ν©λλ€.
- μ’μμ μλΉμ€: κ²μλ¬Όκ³Ό λκΈμ λν 'μ’μμ'λ₯Ό κ΄λ¦¬ν©λλ€.
μ₯μ :
- ꡬνμ΄ λΉκ΅μ κ°λ¨ν©λλ€.
- λλμ λ°μ΄ν°λ₯Ό κ΄λ¦¬νλ λ° μ’μ΅λλ€.
λ¨μ :
- μ μ€νκ² μ€κ³νμ§ μμΌλ©΄ μλΉμ€ κ°μ κ²°ν©λκ° λμμ§ μ μμ΅λλ€.
- λΉμ¦λμ€ νλ‘μΈμ€μ μ λ§μ§ μμ μ μμ΅λλ€.
- μλΉμ€ κ° λ°μ΄ν° μΌκ΄μ±μ΄ λ¬Έμ κ° λ μ μμ΅λλ€.
5. κΈ°μ μ λ°λ₯Έ λΆν΄
μ΄ μ κ·Ό λ°©μμ μ¬μ©λ κΈ°μ μ κΈ°λ°μΌλ‘ μλΉμ€λ₯Ό λΆν΄ν©λλ€. μΌλ°μ μΌλ‘ μ£Όμ λΆν΄ μ λ΅μΌλ‘ κΆμ₯λμ§λ μμ§λ§, λ κ±°μ μμ€ν μ λ§μ΄κ·Έλ μ΄μ νκ±°λ μ λ¬Έ κΈ°μ κ³Ό ν΅ν©ν λ μ μ©ν μ μμ΅λλ€.
μμ:
μμ€ν μλ μ€μκ° λ°μ΄ν° μ€νΈλ¦Ό(μ: Apache Kafka λλ μ μ¬ν κΈ°μ μ¬μ©)μμ μμ§λ λ°μ΄ν°λ₯Ό κ΄λ¦¬νλ μ μ© μλΉμ€κ° μμ μ μμ΅λλ€. λ λ€λ₯Έ μλΉμ€λ μ λ¬Έ μ΄λ―Έμ§ μ²λ¦¬ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νμ¬ μ΄λ―Έμ§ λ°μ΄ν°λ₯Ό μ²λ¦¬νλλ‘ μ€κ³λ μ μμ΅λλ€.
μ₯μ :
- κΈ°μ μ κ·Έλ μ΄λλ₯Ό μ©μ΄νκ² ν μ μμ΅λλ€.
- νΉμ κΈ°μ μꡬ μ¬νμ΄ μλ νμ¬ μλΉμ€μ ν΅ν©νλ λ° μ’μ΅λλ€.
λ¨μ :
- μΈμμ μΈ μλΉμ€ κ²½κ³λ‘ μ΄μ΄μ§ μ μμ΅λλ€.
- λΉμ¦λμ€ μꡬμ μΌμΉνμ§ μμ μ μμ΅λλ€.
- λΉμ¦λμ€ λ‘μ§λ³΄λ€λ κΈ°μ μ κΈ°λ°ν μ’ μμ±μ μμ±ν μ μμ΅λλ€.
6. μ€νΈλκΈλ¬ νΌκ·Έ ν¨ν΄ (Strangler Fig Pattern)
μ€νΈλκΈλ¬ νΌκ·Έ ν¨ν΄μ λͺ¨λ리μ μ ν리μΌμ΄μ μ λ§μ΄ν¬λ‘μλΉμ€λ‘ μ μ§μ μΌλ‘ λ§μ΄κ·Έλ μ΄μ νλ μ κ·Ό λ°©μμ λλ€. μ΄λ λͺ¨λ리μ€μ μΌλΆλ₯Ό λ§μ΄ν¬λ‘μλΉμ€λ‘ μ μ§μ μΌλ‘ λ체νκ³ λλ¨Έμ§ λͺ¨λ리μ€λ κ·Έλλ‘ λλ κ²μ ν¬ν¨ν©λλ€. μλ‘μ΄ λ§μ΄ν¬λ‘μλΉμ€κ° μ±μνκ³ νμν κΈ°λ₯μ μ 곡ν¨μ λ°λΌ μλμ λͺ¨λ리μ€λ μμ ν λ체λ λκΉμ§ μμν 'μ§μ'λ©λλ€.
μλ λ°©μ:
- λ§μ΄ν¬λ‘μλΉμ€λ‘ λ체ν μκ³ μ μ μλ λͺ¨λ리μ€μ μΌλΆλ₯Ό μλ³ν©λλ€.
- λμΌν κΈ°λ₯μ μ 곡νλ μλ‘μ΄ λ§μ΄ν¬λ‘μλΉμ€λ₯Ό λ§λλλ€.
- μμ²μ λͺ¨λλ¦¬μ€ λμ μλ‘μ΄ λ§μ΄ν¬λ‘μλΉμ€λ‘ λΌμ°ν ν©λλ€.
- μκ°μ΄ μ§λ¨μ λ°λΌ λ λ§μ κΈ°λ₯μ μ μ§μ μΌλ‘ λ§μ΄ν¬λ‘μλΉμ€λ‘ λ§μ΄κ·Έλ μ΄μ ν©λλ€.
- κ²°κ΅ λͺ¨λ리μ€λ μμ ν μ κ±°λ©λλ€.
μ₯μ :
- "λΉ λ± " λ°©μμ μ¬μμ±μ λΉν΄ μνμ μ€μ λλ€.
- μ μ§μ μΈ λ§μ΄κ·Έλ μ΄μ λ° κ²μ¦μ νμ©ν©λλ€.
- νμ΄ μκ°μ΄ μ§λ¨μ λ°λΌ λ§μ΄ν¬λ‘μλΉμ€ μ κ·Ό λ°©μμ λ°°μ°κ³ μ μν μ μλλ‘ ν©λλ€.
- μ¬μ©μμκ² λ―ΈμΉλ μν₯μ μ€μ λλ€.
λ¨μ :
- μ μ€ν κ³νκ³Ό μ‘°μ μ΄ νμν©λλ€.
- μκ°μ΄ λ§μ΄ μμλ μ μμ΅λλ€.
- λͺ¨λ리μ€μ λ§μ΄ν¬λ‘μλΉμ€ κ°μ 볡μ‘ν λΌμ°ν λ° ν΅μ μ΄ ν¬ν¨λ μ μμ΅λλ€.
λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²μμμ λ°μ΄ν° κ΄λ¦¬
λ°μ΄ν° κ΄λ¦¬λ λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²μμ μ€μν κ³ λ € μ¬νμ λλ€. κ° μλΉμ€λ μΌλ°μ μΌλ‘ μ체 λ°μ΄ν°λ₯Ό μμ νλ©°, μ΄λ λ€μκ³Ό κ°μ κ³Όμ λ₯Ό μΌκΈ°ν©λλ€.
- λ°μ΄ν° μΌκ΄μ±: μ¬λ¬ μλΉμ€μ κ±Έμ³ λ°μ΄ν° μΌκ΄μ±μ 보μ₯νλ €λ©΄ μ μ€ν κ³νκ³Ό μ μ ν μΌκ΄μ± λͺ¨λΈ(μ: μ΅μ’ μ μΌκ΄μ±)μ μ¬μ©μ΄ νμν©λλ€.
- λ°μ΄ν° μ€λ³΅: κ° μλΉμ€μ λ°μ΄ν° μꡬ μ¬νμ μΆ©μ‘±νκΈ° μν΄ μλΉμ€ κ°μ λ°μ΄ν° μ€λ³΅μ΄ λ°μν μ μμ΅λλ€.
- λ°μ΄ν° μ κ·Ό: μλΉμ€ κ²½κ³λ₯Ό λμ΄ λ°μ΄ν°μ λν μ κ·Όμ κ΄λ¦¬νλ €λ©΄ 보μ λ° λ°μ΄ν° μμ κΆμ λν μ μ€ν κ³ λ €κ° νμν©λλ€.
λ°μ΄ν° κ΄λ¦¬ μ λ΅:
- μλΉμ€λ³ λ°μ΄ν°λ² μ΄μ€: κ° μλΉμ€λ μ체 μ μ© λ°μ΄ν°λ² μ΄μ€λ₯Ό κ°μ§λλ€. μ΄λ λμ¨ν κ²°ν©κ³Ό λ 립μ μΈ νμ₯μ±μ μ΄μ§νλ μΌλ°μ μΈ μ κ·Ό λ°©μμ λλ€. μ΄λ ν μλΉμ€μ μ€ν€λ§ λ³κ²½μ΄ λ€λ₯Έ μλΉμ€μ μν₯μ λ―ΈμΉμ§ μλλ‘ λ³΄μ₯νλ λ° λμμ΄ λ©λλ€.
- 곡μ λ°μ΄ν°λ² μ΄μ€ (κ°λ₯νλ©΄ νΌν κ²): μ¬λ¬ μλΉμ€κ° 곡μ λ°μ΄ν°λ² μ΄μ€μ μ κ·Όν©λλ€. μ²μμλ λ μ¬μ λ³΄μΌ μ μμ§λ§, μ΄λ κ²°ν©λλ₯Ό λμ΄κ³ λ 립μ μΈ λ°°ν¬ λ° νμ₯μ±μ μ ν΄ν μ μμ΅λλ€. μ λ§ νμν κ²½μ°μλ§ μ μ€ν μ€κ³μ ν¨κ» κ³ λ €νμμμ€.
- μ΅μ’ μ μΌκ΄μ±: μλΉμ€λ λ 립μ μΌλ‘ λ°μ΄ν°λ₯Ό μ λ°μ΄νΈνκ³ μ΄λ²€νΈλ₯Ό ν΅ν΄ λ³κ²½ μ¬νμ ν΅μ ν©λλ€. μ΄λ λμ κ°μ©μ±κ³Ό νμ₯μ±μ νμ©νμ§λ§ λ°μ΄ν° μΌκ΄μ± λ¬Έμ λ₯Ό μ μ€νκ² μ²λ¦¬ν΄μΌ ν©λλ€.
- μ¬κ° ν¨ν΄ (Saga Pattern): μ¬λ¬ μλΉμ€μ κ±ΈμΉ νΈλμμ μ κ΄λ¦¬νλ λ° μ¬μ©λ©λλ€. μ¬κ°λ μΌλ ¨μ λ‘컬 νΈλμμ μ μ¬μ©νμ¬ λ°μ΄ν° μΌκ΄μ±μ 보μ₯ν©λλ€. ν νΈλμμ μ΄ μ€ν¨νλ©΄ μ¬κ°λ 보μ νΈλμμ μ μ€ννμ¬ μ€ν¨λ₯Ό 보μν μ μμ΅λλ€.
- API μ‘°ν© (API Composition): API κ²μ΄νΈμ¨μ΄λ λ°μ΄ν° κ²μ λ° μ§κ³λ₯Ό μ‘°μ νλ μ μ© μλΉμ€λ₯Ό ν΅ν΄ μ¬λ¬ μλΉμ€μ λ°μ΄ν°λ₯Ό κ²°ν©ν©λλ€.
λ§μ΄ν¬λ‘μλΉμ€ κ° ν΅μ
λ§μ΄ν¬λ‘μλΉμ€ κ°μ ν¨κ³Όμ μΈ ν΅μ μ μ λ°μ μΈ κΈ°λ₯μ λ§€μ° μ€μν©λλ€. λͺ κ°μ§ ν΅μ ν¨ν΄μ΄ μ‘΄μ¬ν©λλ€.
- λκΈ°μ ν΅μ (μμ²/μλ΅): μλΉμ€λ μΌλ°μ μΌλ‘ HTTP/REST λλ gRPCλ₯Ό μ¬μ©νμ¬ APIλ₯Ό ν΅ν΄ μ§μ ν΅μ ν©λλ€. μ΄λ μ€μκ° μνΈ μμ© λ° μ¦κ°μ μΈ μλ΅μ΄ νμν μμ²μ μ ν©ν©λλ€.
- λΉλκΈ°μ ν΅μ (μ΄λ²€νΈ κΈ°λ°): μλΉμ€λ λ©μμ§ ν(μ: Apache Kafka, RabbitMQ) λλ μ΄λ²€νΈ λ²μ€λ₯Ό ν΅ν΄ μ΄λ²€νΈλ₯Ό κ²μνκ³ κ΅¬λ νμ¬ ν΅μ ν©λλ€. μ΄λ μλΉμ€λ₯Ό λΆλ¦¬νκ³ μ£Όλ¬Έ μ²λ¦¬μ κ°μ λΉλκΈ° μμ μ μ²λ¦¬νλ λ° μ ν©ν©λλ€.
- λ©μμ§ λΈλ‘컀: μ΄λ€μ μ€κ°μ μν μ νμ¬ μλΉμ€ κ°μ λΉλκΈ° λ©μμ§ κ΅νμ μ©μ΄νκ² ν©λλ€(μ: Kafka, RabbitMQ, Amazon SQS). λ©μμ§ νμ, μ λ’°μ± λ° νμ₯μ±κ³Ό κ°μ κΈ°λ₯μ μ 곡ν©λλ€.
- API κ²μ΄νΈμ¨μ΄: ν΄λΌμ΄μΈνΈμ μ§μ μ μν μ νλ©° λΌμ°ν , μΈμ¦, κΆν λΆμ¬ λ° API μ‘°ν©μ κ΄λ¦¬ν©λλ€. ν΄λΌμ΄μΈνΈλ₯Ό λ°±μλ λ§μ΄ν¬λ‘μλΉμ€λ‘λΆν° λΆλ¦¬ν©λλ€. κ³΅κ° APIλ₯Ό λ΄λΆ λΉκ³΅κ° APIλ‘ λ³νν©λλ€.
- μλΉμ€ λ©μ: νΈλν½ κ΄λ¦¬, 보μ λ° κ΄μ°° κ°λ₯μ±μ ν¬ν¨νμ¬ μλΉμ€ κ° ν΅μ μ κ΄λ¦¬νκΈ° μν μ μ© μΈνλΌ κ³μΈ΅μ μ 곡ν©λλ€. μλ‘λ Istio λ° Linkerdκ° μμ΅λλ€.
μλΉμ€ λμ€μ»€λ²λ¦¬ λ° κ΅¬μ±
μλΉμ€ λμ€μ»€λ²λ¦¬λ λ§μ΄ν¬λ‘μλΉμ€ μΈμ€ν΄μ€λ₯Ό μλμΌλ‘ μ°Ύμ μ°κ²°νλ νλ‘μΈμ€μ λλ€. μλΉμ€κ° νμ₯λκ±°λ μΆμλ μ μλ λμ νκ²½μμ λ§€μ° μ€μν©λλ€.
μλΉμ€ λμ€μ»€λ²λ¦¬ κΈ°μ :
- ν΄λΌμ΄μΈνΈ μΈ‘ λμ€μ»€λ²λ¦¬: ν΄λΌμ΄μΈνΈλ μλΉμ€ μΈμ€ν΄μ€λ₯Ό μ°Ύλ μ± μμ΄ μμ΅λλ€(μ: DNS μλ² λλ Consulμ΄λ etcdμ κ°μ λ μ§μ€νΈλ¦¬ μ¬μ©). ν΄λΌμ΄μΈνΈ μμ²΄κ° μλΉμ€ μΈμ€ν΄μ€λ₯Ό μκ³ μ κ·Όν μ± μμ΄ μμ΅λλ€.
- μλ² μΈ‘ λμ€μ»€λ²λ¦¬: λ‘λ λ°Έλ°μλ API κ²μ΄νΈμ¨μ΄κ° μλΉμ€ μΈμ€ν΄μ€μ νλ‘μ μν μ νλ©°, ν΄λΌμ΄μΈνΈλ μ΄ νλ‘μμ ν΅μ ν©λλ€. νλ‘μλ λ‘λ λ°Έλ°μ±κ³Ό μλΉμ€ λμ€μ»€λ²λ¦¬λ₯Ό μ²λ¦¬ν©λλ€.
- μλΉμ€ λ μ§μ€νΈλ¦¬: μλΉμ€λ μμ μ μμΉ(IP μ£Όμ, ν¬νΈ λ±)λ₯Ό μλΉμ€ λ μ§μ€νΈλ¦¬μ λ±λ‘ν©λλ€. ν΄λΌμ΄μΈνΈλ λ μ§μ€νΈλ¦¬λ₯Ό 쿼리νμ¬ μλΉμ€ μΈμ€ν΄μ€λ₯Ό μ°Ύμ μ μμ΅λλ€. μΌλ°μ μΈ μλΉμ€ λ μ§μ€νΈλ¦¬μλ Consul, etcd λ° Kubernetesκ° ν¬ν¨λ©λλ€.
κ΅¬μ± κ΄λ¦¬:
μ€μ μ§μ€μ κ΅¬μ± κ΄λ¦¬λ μλΉμ€ μ€μ (λ°μ΄ν°λ² μ΄μ€ μ°κ²° λ¬Έμμ΄, API ν€ λ±)μ κ΄λ¦¬νλ λ° μ€μν©λλ€.
- κ΅¬μ± μλ²: μλΉμ€μ κ΅¬μ± λ°μ΄ν°λ₯Ό μ μ₯νκ³ κ΄λ¦¬ν©λλ€. μλ‘λ Spring Cloud Config, HashiCorp Consul λ° etcdκ° μμ΅λλ€.
- νκ²½ λ³μ: νκ²½ λ³μλ νΉν 컨ν μ΄λνλ νκ²½μμ μλΉμ€ μ€μ μ ꡬμ±νλ μΌλ°μ μΈ λ°©λ²μ λλ€.
- κ΅¬μ± νμΌ: μλΉμ€λ νμΌ(μ: YAML, JSON λλ μμ± νμΌ)μμ κ΅¬μ± λ°μ΄ν°λ₯Ό λ‘λν μ μμ΅λλ€.
λ§μ΄ν¬λ‘μλΉμ€λ₯Ό μν API μ€κ³
μ μ€κ³λ APIλ λ§μ΄ν¬λ‘μλΉμ€ κ°μ ν΅μ μ λ§€μ° μ€μν©λλ€. APIλ λ€μκ³Ό κ°μμΌ ν©λλ€.
- μΌκ΄μ±: λͺ¨λ μλΉμ€μμ μΌκ΄λ API μ€νμΌ(μ: RESTful)μ λ°λ¦ λλ€.
- μ λ¬Έμνλ¨: OpenAPI(Swagger)μ κ°μ λꡬλ₯Ό μ¬μ©νμ¬ APIλ₯Ό λ¬Έμννκ³ μ΄ν΄νκ³ μ¬μ©νκΈ° μ½κ² λ§λλλ€.
- λ²μ κ΄λ¦¬: νΈνμ±μ κΉ¨λ¨λ¦¬μ§ μκ³ API λ³κ²½μ μ²λ¦¬νκΈ° μν΄ λ²μ κ΄λ¦¬λ₯Ό ꡬνν©λλ€.
- 보μ: APIλ₯Ό 보νΈνκΈ° μν΄ μΈμ¦ λ° κΆν λΆμ¬λ₯Ό ꡬνν©λλ€.
- 볡μλ ₯: μ₯μ λ₯Ό μ μμ μΌλ‘ μ²λ¦¬νλλ‘ APIλ₯Ό μ€κ³ν©λλ€.
λ°°ν¬ λ° DevOps κ³ λ € μ¬ν
ν¨κ³Όμ μΈ λ°°ν¬ λ° DevOps κ΄νμ λ§μ΄ν¬λ‘μλΉμ€ κ΄λ¦¬μ νμμ μ λλ€.
- μ§μμ μΈ ν΅ν©/μ§μμ μΈ μ λ¬(CI/CD): CI/CD νμ΄νλΌμΈ(μ: Jenkins, GitLab CI, CircleCI)μ μ¬μ©νμ¬ λΉλ, ν μ€νΈ λ° λ°°ν¬ νλ‘μΈμ€λ₯Ό μλνν©λλ€.
- 컨ν μ΄λν: 컨ν μ΄λ κΈ°μ (μ: Docker, Kubernetes)μ μ¬μ©νμ¬ μ¬λ¬ νκ²½μμ μΌκ΄λκ² μλΉμ€λ₯Ό ν¨ν€μ§νκ³ λ°°ν¬ν©λλ€.
- μ€μΌμ€νΈλ μ΄μ : 컨ν μ΄λ μ€μΌμ€νΈλ μ΄μ νλ«νΌ(μ: Kubernetes)μ μ¬μ©νμ¬ μλΉμ€μ λ°°ν¬, νμ₯ λ° μ΄μμ κ΄λ¦¬ν©λλ€.
- λͺ¨λν°λ§ λ° λ‘κΉ : μλΉμ€ μ±λ₯μ μΆμ νκ³ , λ¬Έμ λ₯Ό μλ³νκ³ , λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ κ°λ ₯ν λͺ¨λν°λ§ λ° λ‘κΉ μ ꡬνν©λλ€.
- μ½λλ‘μμ μΈνλΌ(IaC): IaC λꡬ(μ: Terraform, AWS CloudFormation)λ₯Ό μ¬μ©νμ¬ μΈνλΌ νλ‘λΉμ λμ μλννμ¬ μΌκ΄μ±κ³Ό λ°λ³΅μ±μ 보μ₯ν©λλ€.
- μλνλ ν μ€νΈ: λ¨μ ν μ€νΈ, ν΅ν© ν μ€νΈ λ° μλν¬μλ ν μ€νΈλ₯Ό ν¬ν¨ν ν¬κ΄μ μΈ ν μ€νΈ μ λ΅μ ꡬνν©λλ€.
- λΈλ£¨/κ·Έλ¦° λ°°ν¬: κΈ°μ‘΄ λ²μ κ³Ό ν¨κ» μλ‘μ΄ λ²μ μ μλΉμ€λ₯Ό λ°°ν¬νμ¬ λ¬΄μ€λ¨ λ°°ν¬ λ° μ¬μ΄ λ‘€λ°±μ κ°λ₯νκ² ν©λλ€.
- μΉ΄λ리 릴리μ€: λͺ¨λ μ¬μ©μμκ² λ°°ν¬νκΈ° μ μ μμμ μ¬μ©μμκ² μ μ§μ μΌλ‘ μλ‘μ΄ λ²μ μ μλΉμ€λ₯Ό μΆμν©λλ€.
νΌν΄μΌ ν μν° ν¨ν΄
λ§μ΄ν¬λ‘μλΉμ€ μ€κ³ μ νΌν΄μΌ ν μΌλ°μ μΈ μν° ν¨ν΄μ λ€μκ³Ό κ°μ΅λλ€.
- λΆμ°λ λͺ¨λ리μ€: μλΉμ€κ° λ무 κΈ΄λ°νκ² κ²°ν©λμ΄ ν¨κ» λ°°ν¬λμ΄ λ§μ΄ν¬λ‘μλΉμ€μ μ΄μ μ μμν©λλ€.
- μλ€μ€λ¬μ΄ μλΉμ€ (Chatty Services): μλΉμ€κ° λ무 μμ£Ό ν΅μ νμ¬ λμ μ§μ° μκ°κ³Ό μ±λ₯ λ¬Έμ λ₯Ό μ΄λν©λλ€.
- 볡μ‘ν νΈλμμ : μ¬λ¬ μλΉμ€μ κ±ΈμΉ λ³΅μ‘ν νΈλμμ μ κ΄λ¦¬νκΈ° μ΄λ ΅κ³ λ°μ΄ν° μΌκ΄μ± λ¬Έμ λ‘ μ΄μ΄μ§ μ μμ΅λλ€.
- κ³Όλν μμ§λμ΄λ§: λ κ°λ¨ν μ κ·Ό λ°©μμ΄ μΆ©λΆν κ²½μ° λ³΅μ‘ν μ루μ μ ꡬνν©λλ€.
- λͺ¨λν°λ§ λ° λ‘κΉ λΆμ‘±: λΆμ μ ν λͺ¨λν°λ§ λ° λ‘κΉ μ λ¬Έμ ν΄κ²°μ μ΄λ ΅κ² λ§λλλ€.
- λλ©μΈ μ£Όλ μ€κ³ μμΉ λ¬΄μ: μλΉμ€ κ²½κ³λ₯Ό λΉμ¦λμ€ λλ©μΈκ³Ό μΌμΉμν€μ§ μμ΅λλ€.
μ€μ©μ μΈ μμ λ° μ¬λ‘ μ°κ΅¬
μμ: λ§μ΄ν¬λ‘μλΉμ€λ₯Ό μ΄μ©ν μ¨λΌμΈ λ§μΌνλ μ΄μ€
μ¨λΌμΈ λ§μΌνλ μ΄μ€(Etsy λλ eBayμ μ μ¬)λ₯Ό μκ°ν΄ 보μμμ€. κΈ°λ₯ κΈ°λ° μ κ·Ό λ°©μμ μ¬μ©νμ¬ λΆν΄ν μ μμ΅λλ€. μλΉμ€μλ λ€μμ΄ ν¬ν¨λ μ μμ΅λλ€.
- μν λͺ©λ‘ μλΉμ€: μν λͺ©λ‘, μ€λͺ , μ΄λ―Έμ§λ₯Ό κ΄λ¦¬ν©λλ€.
- νλ§€μ μλΉμ€: νλ§€μ κ³μ , νλ‘ν λ° μμ μ κ΄λ¦¬ν©λλ€.
- ꡬ맀μ μλΉμ€: ꡬ맀μ κ³μ , νλ‘ν λ° μ£Όλ¬Έ λ΄μμ κ΄λ¦¬ν©λλ€.
- μ£Όλ¬Έ μλΉμ€: μ£Όλ¬Έ μμ±, μ²λ¦¬ λ° μ΄νμ μ²λ¦¬ν©λλ€.
- κ²°μ μλΉμ€: κ²°μ κ²μ΄νΈμ¨μ΄(μ: PayPal, Stripe)μ ν΅ν©λ©λλ€.
- κ²μ μλΉμ€: μν λͺ©λ‘μ μΈλ±μ±νκ³ κ²μ κΈ°λ₯μ μ 곡ν©λλ€.
- 리뷰 λ° νμ μλΉμ€: κ³ κ° λ¦¬λ·°μ νμ μ κ΄λ¦¬ν©λλ€.
- λ°°μ‘ μλΉμ€: λ°°μ‘λΉλ₯Ό κ³μ°νκ³ λ°°μ‘ μ΅μ μ κ΄λ¦¬ν©λλ€.
μ¬λ‘ μ°κ΅¬: λ·νλ¦μ€
λ·νλ¦μ€λ μ±κ³΅μ μΈ λ§μ΄ν¬λ‘μλΉμ€ ꡬνμ λνμ μΈ μμ λλ€. κ·Έλ€μ νμ₯μ±, 볡μλ ₯ λ° κ°λ° μλλ₯Ό ν₯μμν€κΈ° μν΄ λͺ¨λ리μ μν€ν μ²μμ λ§μ΄ν¬λ‘μλΉμ€λ‘ μ ννμ΅λλ€. λ·νλ¦μ€λ μ½ν μΈ μ λ¬, μΆμ² μμ€ν , μ¬μ©μ κ³μ κ΄λ¦¬ λ± λ€μν κΈ°λ₯μ λ§μ΄ν¬λ‘μλΉμ€λ₯Ό μ¬μ©ν©λλ€. λ§μ΄ν¬λ‘μλΉμ€ μ¬μ©μ ν΅ν΄ μ μΈκ³ μλ°±λ§ λͺ μ μ¬μ©μλ‘ νμ₯νκ³ μλ‘μ΄ κΈ°λ₯μ μ μνκ² μΆμν μ μμμ΅λλ€.
μ¬λ‘ μ°κ΅¬: μλ§μ‘΄
μλ§μ‘΄μ λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²μ μ ꡬμμ λλ€. κ·Έλ€μ λ°©λν μλΉμ€ μνκ³λ₯Ό κ°μ§κ³ μμΌλ©°, κ·Έ μ€ λ€μλ λ§μ΄ν¬λ‘μλΉμ€λ₯Ό κΈ°λ°μΌλ‘ ν©λλ€. κ·Έλ€μ μν€ν μ²λ λκ·λͺ¨ νΈλν½μ μ²λ¦¬νκ³ , κ΄λ²μν μλΉμ€(μ: Amazon Web Services, μ μ μκ±°λ, λΉλμ€ μ€νΈλ¦¬λ°)λ₯Ό μ§μνλ©°, μ μνκ² νμ ν μ μκ² ν©λλ€.
κΈλ‘λ² μμ: μΈλμμμ μ μμκ±°λλ₯Ό μν λ§μ΄ν¬λ‘μλΉμ€ μ¬μ©
μλ₯Ό λ€μ΄ μΈλμ ν μ μμκ±°λ νμ¬λ νλ§€ μμ¦(μ: λμ리 μΈμΌ)μ λ°λ₯Έ μ¬μ©μ νΈλν½ λ³λ, λ€μν μΈλ μν κ°μ κ²°μ κ²μ΄νΈμ¨μ΄ ν΅ν© λ¬Έμ , κΈλ‘λ² νλ μ΄μ΄μ κ²½μνκΈ° μν λΉ λ₯Έ νμ μ νμμ±κ³Ό κ°μ κ³Όμ λ₯Ό ν΄κ²°νκΈ° μν΄ λ§μ΄ν¬λ‘μλΉμ€λ₯Ό μ¬μ©ν μ μμ΅λλ€. λ§μ΄ν¬λ‘μλΉμ€ μ κ·Ό λ°©μμ ν΅ν΄ μ μνκ² νμ₯νκ³ , λ€μν κ²°μ μ΅μ μ κ΄λ¦¬νλ©°, λΉ λ₯΄κ² λ³ννλ μ¬μ©μ κΈ°λμ λ°λΌ μλ‘μ΄ κΈ°λ₯μ ꡬνν μ μμ΅λλ€.
μΆκ° μμ: μ±κ°ν¬λ₯΄ νν ν¬λ₯Ό μν λ§μ΄ν¬λ‘μλΉμ€ μ¬μ©
μ±κ°ν¬λ₯΄μ ν νν ν¬ νμ¬λ λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²λ₯Ό μ¬μ©νμ¬ μμ ν κ²°μ μ΄μ²΄λ₯Ό μν΄ λ€μν νμ§ μνμ APIμ μ μνκ² ν΅ν©νκ³ , μ΅μ κ·μ μ§μΉ¨μ νμ©νλ©°, λμμ κΈλ‘λ² κ³ κ°κ³Ό κ΅μ μ‘κΈμ μ²λ¦¬ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ νν ν¬λ κ·μ μ μ€μνλ©΄μ λ λΉ λ₯΄κ² νμ ν μ μμ΅λλ€. λ§μ΄ν¬λ‘μλΉμ€λ₯Ό μ¬μ©νλ©΄ κ°κΈ° λ€λ₯Έ νμ΄ μ 체 λͺ¨λ리μ€μ λν μμ‘΄μ±μ μν΄ μ°¨λ¨λμ§ μκ³ μ νμ κ° λΆλΆμ μ체μ μΌλ‘ νμ ν μ μμ΅λλ€.
μ¬λ°λ₯Έ λΆν΄ μ λ΅ μ ννκΈ°
μ΅μ μ λΆν΄ μ λ΅μ μ¬λ¬ μμΈμ λ°λΌ λ¬λΌμ§λλ€.
- λΉμ¦λμ€ λͺ©ν: μ£Όμ λΉμ¦λμ€ λͺ©νλ 무μμ λκΉ (μ: νμ₯μ±, λ λΉ λ₯Έ μμ₯ μΆμ, νμ )?
- ν ꡬ쑰: κ°λ° νμ μ΄λ»κ² ꡬμ±λμ΄ μμ΅λκΉ? νμλ€μ΄ λ 립μ μΌλ‘ μμ ν μ μμ΅λκΉ?
- μ ν리μΌμ΄μ 볡μ‘μ±: μ ν리μΌμ΄μ μ μΌλ§λ 볡μ‘ν©λκΉ?
- κΈ°μ‘΄ μν€ν μ²: μ²μλΆν° μμνλμ, μλλ©΄ λͺ¨λ리μ μ ν리μΌμ΄μ μ λ§μ΄κ·Έλ μ΄μ νλμ?
- ν μ λ¬Έ μ§μ: νμ λ§μ΄ν¬λ‘μλΉμ€ λ° λλ©μΈ μ£Όλ μ€κ³ κ²½νμ μ΄λ»μ΅λκΉ?
- νλ‘μ νΈ μΌμ λ° μμ°: λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²λ₯Ό ꡬμΆνλ λ° μ¬μ©ν μ μλ μκ°κ³Ό μμμ μΌλ§λ λ©λκΉ?
νΉμ μꡬ μ¬νμ λΆμνκ³ μꡬ μ¬νμ κ°μ₯ μ ν©ν μ λ΅μ μ ννλ κ²μ΄ μ€μν©λλ€. λ§μ κ²½μ° μ¬λ¬ μ λ΅μ μ‘°ν©νλ κ²μ΄ κ°μ₯ ν¨κ³Όμ μΌ μ μμ΅λλ€.
κ²°λ‘
λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²λ νλμ μΈ μ ν리μΌμ΄μ μ ꡬμΆνλ λ° μλΉν μ΄μ μ μ 곡νμ§λ§, μ±κ³΅μ μΈ κ΅¬νμ μν΄μλ μ μ€ν κ³νκ³Ό μ€νμ΄ νμν©λλ€. λ€μν λΆν΄ μ λ΅, λ°μ΄ν° κ΄λ¦¬ κΈ°μ , ν΅μ ν¨ν΄ λ° DevOps κ΄νμ μ΄ν΄ν¨μΌλ‘μ¨ λΉμ¦λμ€ μꡬλ₯Ό μΆ©μ‘±νλ κ²¬κ³ νκ³ νμ₯ κ°λ₯νλ©° 볡μλ ₯ μλ λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²λ₯Ό ꡬμΆν μ μμ΅λλ€. λΆν΄λ λ°λ³΅μ μΈ κ³Όμ μμ κΈ°μ΅νμμμ€. μ ν리μΌμ΄μ μ΄ μ§νν¨μ λ°λΌ μ κ·Ό λ°©μμ μ‘°μ ν μ μμ΅λλ€.
λΆν΄ μ λ΅μ μ νν λ λΉμ¦λμ€ λͺ©ν, ν μ λ¬Έ μ§μ λ° κΈ°μ‘΄ μν€ν μ²λ₯Ό κ³ λ €νμμμ€. λ§μ΄ν¬λ‘μλΉμ€ ꡬνμ μ₯κΈ°μ μΈ μ±κ³΅μ 보μ₯νκΈ° μν΄ μ§μμ μΈ νμ΅, λͺ¨λν°λ§ λ° μ μμ λ¬Ένλ₯Ό μμ©νμμμ€.